/**
* @author sunke
* @Date 2023-09-22 22:03:51
* @description 企业
*/
package cn.jobstart.model;

import cn.jobstart.pubInter.BaseTimeDoMain;
import javax.validation.constraints.*;
import org.hibernate.validator.constraints.Length;

public class Company extends BaseTimeDoMain {
    /**
     * 来源
     */
    private Integer source;

    /**
     * 排序
     */
    private Integer sortNum = 0;

    /**
     * 是否显示
     * 1:是:Y,0:否:N
     */
    private Integer showFlag = 1;

    /**
     * 是否删除
     * 1:删除:Y,0:正常:N
     */
    private Integer delFlag = 0;

    /**
     * 版本
     */
    private Integer version;

    /**
     * 企业名称
     */
    @Length(max=100,message="企业名称长度最大值100")
    private String name;

    /**
     * 组织机构代码
     */
    @Length(max=50,message="组织机构代码长度最大值50")
    private String tin;

    /**
     * 企业性质
     * 1:外资:foreign_capital,2:合资:joint_venture,3:国企:state_owned_enterprise,4:私营/民营公司:private_companies,5:上市公司:listed_company,6:外企代表处:foreign_enterprise_representing,7:政府机关:government_office,8:事业单位:public_institutions,9:非盈利机构:non_profit_organization,10:其他性质:other_nature
     */
    private Integer nature;

    /**
     * 企业规模
     * 9:10人以下,49:10～50人,199:50～200人,499:200～500人,999:500～1000人,1000:1000人以上
     */
    private Integer scale;

    /**
     * 公司简介
     */
    @Length(max=1000,message="公司简介长度最大值1000")
    private String intro;

    /**
     * 官网
     */
    @Length(max=100,message="官网长度最大值100")
    private String website;

    /**
     * 微信公众号
     */
    @Length(max=100,message="微信公众号长度最大值100")
    private String wxImg;

    /**
     * 省
     */
    @Length(max=50,message="省长度最大值50")
    private String province;

    /**
     * 城市
     */
    @Length(max=50,message="城市长度最大值50")
    private String city;

    /**
     * 区
     */
    @Length(max=50,message="区长度最大值50")
    private String area;

    /**
     * 所在行业
     */
    @Length(max=100,message="所在行业长度最大值100")
    private String industry;

    /**
     * 企业logo
     */
    @Length(max=100,message="企业logo长度最大值100")
    private String logo;

    /**
     * 公司电话
     */
    @Length(max=50,message="公司电话长度最大值50")
    private String tel;

    /**
     * 公司地址
     */
    @Length(max=100,message="公司地址长度最大值100")
    private String address;

    /**
     * 传真
     */
    @Length(max=50,message="传真长度最大值50")
    private String fax;

    /**
     * 电子邮箱
     */
    @Length(max=50,message="电子邮箱长度最大值50")
    private String email;

    /**
     * 渠道来源
     */
    private Integer channel;

    /**
     * 来源企业ID
     */
    @Length(max=50,message="来源企业ID长度最大值50")
    private String sourceCompanyId;

    /**
     * 行业ID
     */
    @Length(max=32,message="行业ID长度最大值32")
    private String industryId;

    /**
     * 是否加入es
     * 1:是:Y,0:否:N
     */
    private Integer esFlag;

    /**
     * 公司详情
     */
    private String info;

     /**
     *主键
     */
    public static final String ID = "company.c_id";

     /**
     *来源
     */
    public static final String SOURCE = "company.c_source";

     /**
     *创建时间
     */
    public static final String CREATE_TIME = "company.c_create_time";

     /**
     *更新时间
     */
    public static final String UPDATE_TIME = "company.c_update_time";

     /**
     *排序
     */
    public static final String SORT_NUM = "company.c_sort_num";

     /**
     *是否显示
     */
    public static final String SHOW_FLAG = "company.c_show_flag";

     /**
     *是否删除
     */
    public static final String DEL_FLAG = "company.c_del_flag";

     /**
     *版本
     */
    public static final String VERSION = "company.c_version";

     /**
     *企业名称
     */
    public static final String NAME = "company.c_name";

     /**
     *组织机构代码
     */
    public static final String TIN = "company.c_tin";

     /**
     *企业性质
     */
    public static final String NATURE = "company.c_nature";

     /**
     *企业规模
     */
    public static final String SCALE = "company.c_scale";

     /**
     *公司简介
     */
    public static final String INTRO = "company.c_intro";

     /**
     *官网
     */
    public static final String WEBSITE = "company.c_website";

     /**
     *微信公众号
     */
    public static final String WX_IMG = "company.c_wx_img";

     /**
     *省
     */
    public static final String PROVINCE = "company.c_province";

     /**
     *城市
     */
    public static final String CITY = "company.c_city";

     /**
     *区
     */
    public static final String AREA = "company.c_area";

     /**
     *所在行业
     */
    public static final String INDUSTRY = "company.c_industry";

     /**
     *企业logo
     */
    public static final String LOGO = "company.c_logo";

     /**
     *公司电话
     */
    public static final String TEL = "company.c_tel";

     /**
     *公司地址
     */
    public static final String ADDRESS = "company.c_address";

     /**
     *传真
     */
    public static final String FAX = "company.c_fax";

     /**
     *电子邮箱
     */
    public static final String EMAIL = "company.c_email";

     /**
     *渠道来源
     */
    public static final String CHANNEL = "company.c_channel";

     /**
     *来源企业ID
     */
    public static final String SOURCE_COMPANY_ID = "company.c_source_company_id";

     /**
     *行业ID
     */
    public static final String INDUSTRY_ID = "company.c_industry_id";

     /**
     *是否加入es
     */
    public static final String ES_FLAG = "company.c_es_flag";

     /**
     *公司详情
     */
    public static final String INFO = "company.c_info";

     /**
     *填充detail key
     */
    public static final String COMPANY_FULL_DETAIL_KEY = "COMPANY_FULL_DETAIL";

     /**
     *填充list key
     */
    public static final String COMPANY_FULL_LIST_KEY = "COMPANY_FULL_LIST";

    /**
     * 获取来源
     *
     * @return c_source - 来源
     */
    public Integer getSource() {
        return source;
    }

    /**
     * 设置来源
     *
     * @param source 来源
     */
    public Company setSource(Integer source) {
        this.source = source;
        return this;
    }

    /**
     * 获取排序
     *
     * @return c_sort_num - 排序
     */
    public Integer getSortNum() {
        return sortNum;
    }

    /**
     * 设置排序
     *
     * @param sortNum 排序
     */
    public Company setSortNum(Integer sortNum) {
        this.sortNum = sortNum;
        return this;
    }

    /**
     * 获取是否显示
     *
     * @return c_show_flag - 是否显示
     */
    public Integer getShowFlag() {
        return showFlag;
    }

    /**
     * 设置是否显示
     * 1:是:Y,0:否:N
     *
     * @param showFlag 是否显示
     */
    public Company setShowFlag(Integer showFlag) {
        this.showFlag = showFlag;
        return this;
    }

    /**
     * 获取是否删除
     *
     * @return c_del_flag - 是否删除
     */
    public Integer getDelFlag() {
        return delFlag;
    }

    /**
     * 设置是否删除
     * 1:删除:Y,0:正常:N
     *
     * @param delFlag 是否删除
     */
    public Company setDelFlag(Integer delFlag) {
        this.delFlag = delFlag;
        return this;
    }

    /**
     * 获取版本
     *
     * @return c_version - 版本
     */
    public Integer getVersion() {
        return version;
    }

    /**
     * 设置版本
     *
     * @param version 版本
     */
    public Company setVersion(Integer version) {
        this.version = version;
        return this;
    }

    /**
     * 获取企业名称
     *
     * @return c_name - 企业名称
     */
    public String getName() {
        return name;
    }

    /**
     * 设置企业名称
     *
     * @param name 企业名称
     */
    public Company setName(String name) {
        this.name = name == null ? null : name.trim();
        return this;
    }

    /**
     * 获取组织机构代码
     *
     * @return c_tin - 组织机构代码
     */
    public String getTin() {
        return tin;
    }

    /**
     * 设置组织机构代码
     *
     * @param tin 组织机构代码
     */
    public Company setTin(String tin) {
        this.tin = tin == null ? null : tin.trim();
        return this;
    }

    /**
     * 获取企业性质
     *
     * @return c_nature - 企业性质
     */
    public Integer getNature() {
        return nature;
    }

    /**
     * 设置企业性质
     * 1:外资:foreign_capital,2:合资:joint_venture,3:国企:state_owned_enterprise,4:私营/民营公司:private_companies,5:上市公司:listed_company,6:外企代表处:foreign_enterprise_representing,7:政府机关:government_office,8:事业单位:public_institutions,9:非盈利机构:non_profit_organization,10:其他性质:other_nature
     *
     * @param nature 企业性质
     */
    public Company setNature(Integer nature) {
        this.nature = nature;
        return this;
    }

    /**
     * 获取企业规模
     *
     * @return c_scale - 企业规模
     */
    public Integer getScale() {
        return scale;
    }

    /**
     * 设置企业规模
     * 9:10人以下,49:10～50人,199:50～200人,499:200～500人,999:500～1000人,1000:1000人以上
     *
     * @param scale 企业规模
     */
    public Company setScale(Integer scale) {
        this.scale = scale;
        return this;
    }

    /**
     * 获取公司简介
     *
     * @return c_intro - 公司简介
     */
    public String getIntro() {
        return intro;
    }

    /**
     * 设置公司简介
     *
     * @param intro 公司简介
     */
    public Company setIntro(String intro) {
        this.intro = intro == null ? null : intro.trim();
        return this;
    }

    /**
     * 获取官网
     *
     * @return c_website - 官网
     */
    public String getWebsite() {
        return website;
    }

    /**
     * 设置官网
     *
     * @param website 官网
     */
    public Company setWebsite(String website) {
        this.website = website == null ? null : website.trim();
        return this;
    }

    /**
     * 获取微信公众号
     *
     * @return c_wx_img - 微信公众号
     */
    public String getWxImg() {
        return wxImg;
    }

    /**
     * 设置微信公众号
     *
     * @param wxImg 微信公众号
     */
    public Company setWxImg(String wxImg) {
        this.wxImg = wxImg == null ? null : wxImg.trim();
        return this;
    }

    /**
     * 获取省
     *
     * @return c_province - 省
     */
    public String getProvince() {
        return province;
    }

    /**
     * 设置省
     *
     * @param province 省
     */
    public Company setProvince(String province) {
        this.province = province == null ? null : province.trim();
        return this;
    }

    /**
     * 获取城市
     *
     * @return c_city - 城市
     */
    public String getCity() {
        return city;
    }

    /**
     * 设置城市
     *
     * @param city 城市
     */
    public Company setCity(String city) {
        this.city = city == null ? null : city.trim();
        return this;
    }

    /**
     * 获取区
     *
     * @return c_area - 区
     */
    public String getArea() {
        return area;
    }

    /**
     * 设置区
     *
     * @param area 区
     */
    public Company setArea(String area) {
        this.area = area == null ? null : area.trim();
        return this;
    }

    /**
     * 获取所在行业
     *
     * @return c_industry - 所在行业
     */
    public String getIndustry() {
        return industry;
    }

    /**
     * 设置所在行业
     *
     * @param industry 所在行业
     */
    public Company setIndustry(String industry) {
        this.industry = industry == null ? null : industry.trim();
        return this;
    }

    /**
     * 获取企业logo
     *
     * @return c_logo - 企业logo
     */
    public String getLogo() {
        return logo;
    }

    /**
     * 设置企业logo
     *
     * @param logo 企业logo
     */
    public Company setLogo(String logo) {
        this.logo = logo == null ? null : logo.trim();
        return this;
    }

    /**
     * 获取公司电话
     *
     * @return c_tel - 公司电话
     */
    public String getTel() {
        return tel;
    }

    /**
     * 设置公司电话
     *
     * @param tel 公司电话
     */
    public Company setTel(String tel) {
        this.tel = tel == null ? null : tel.trim();
        return this;
    }

    /**
     * 获取公司地址
     *
     * @return c_address - 公司地址
     */
    public String getAddress() {
        return address;
    }

    /**
     * 设置公司地址
     *
     * @param address 公司地址
     */
    public Company setAddress(String address) {
        this.address = address == null ? null : address.trim();
        return this;
    }

    /**
     * 获取传真
     *
     * @return c_fax - 传真
     */
    public String getFax() {
        return fax;
    }

    /**
     * 设置传真
     *
     * @param fax 传真
     */
    public Company setFax(String fax) {
        this.fax = fax == null ? null : fax.trim();
        return this;
    }

    /**
     * 获取电子邮箱
     *
     * @return c_email - 电子邮箱
     */
    public String getEmail() {
        return email;
    }

    /**
     * 设置电子邮箱
     *
     * @param email 电子邮箱
     */
    public Company setEmail(String email) {
        this.email = email == null ? null : email.trim();
        return this;
    }

    /**
     * 获取渠道来源
     *
     * @return c_channel - 渠道来源
     */
    public Integer getChannel() {
        return channel;
    }

    /**
     * 设置渠道来源
     *
     * @param channel 渠道来源
     */
    public Company setChannel(Integer channel) {
        this.channel = channel;
        return this;
    }

    /**
     * 获取来源企业ID
     *
     * @return c_source_company_id - 来源企业ID
     */
    public String getSourceCompanyId() {
        return sourceCompanyId;
    }

    /**
     * 设置来源企业ID
     *
     * @param sourceCompanyId 来源企业ID
     */
    public Company setSourceCompanyId(String sourceCompanyId) {
        this.sourceCompanyId = sourceCompanyId == null ? null : sourceCompanyId.trim();
        return this;
    }

    /**
     * 获取行业ID
     *
     * @return c_industry_id - 行业ID
     */
    public String getIndustryId() {
        return industryId;
    }

    /**
     * 设置行业ID
     *
     * @param industryId 行业ID
     */
    public Company setIndustryId(String industryId) {
        this.industryId = industryId == null ? null : industryId.trim();
        return this;
    }

    /**
     * 获取是否加入es
     *
     * @return c_es_flag - 是否加入es
     */
    public Integer getEsFlag() {
        return esFlag;
    }

    /**
     * 设置是否加入es
     * 1:是:Y,0:否:N
     *
     * @param esFlag 是否加入es
     */
    public Company setEsFlag(Integer esFlag) {
        this.esFlag = esFlag;
        return this;
    }

    /**
     * 获取公司详情
     *
     * @return c_info - 公司详情
     */
    public String getInfo() {
        return info;
    }

    /**
     * 设置公司详情
     *
     * @param info 公司详情
     */
    public Company setInfo(String info) {
        this.info = info == null ? null : info.trim();
        return this;
    }
}